// QuestTaskExtensions.cs
using HarmonyLib;
using Duckov.Quests.Tasks;
using System.Reflection;
using UnityEngine;
using Duckov.Quests;

namespace KangyuPL_QuestDeathResetMod
{
    public static class QuestTaskExtensions
    {
        /// <summary>
        /// 重置击杀任务的计数
        /// </summary>
        public static void ResetKillCount(this QuestTask_KillCount killCountTask)
        {
            if (killCountTask == null)
                return;

            // 使用 Traverse 访问私有字段 "amount"
            Traverse.Create(killCountTask).Field("amount").SetValue(0);

            // 调用 ReportStatusChanged（假设它是 protected/internal）
            var reportMethod = typeof(Task).GetMethod("ReportStatusChanged", BindingFlags.NonPublic | BindingFlags.Instance);
            reportMethod?.Invoke(killCountTask, null);

            Debug.Log($"[QuestDeathResetMod] 重置击杀任务: {killCountTask.Description}");
        }
    }
}